Capítulo 3: Criptografia e PKI
🎯 CONCEITOS CRÍTICOS PARA A PROVA:
- AES = padrão atual de criptografia simétrica (128/192/256 bits)
- RSA = algoritmo assimétrico mais usado (mínimo 2048 bits)
- SHA-256 (família SHA-2) = padrão atual de hash
- MD5 e RC4 = obsoletos e inseguros
- Salt + PBKDF2 = proteção de senhas contra rainbow table e força bruta
- TPM = chip na placa-mãe; HSM = dispositivo dedicado mais poderoso
- BitLocker = FDE com TPM; EFS = criptografia por arquivo (NTFS)
- OCSP substitui CRL para verificação de certificados em tempo real
- Root cert = auto-assinado; chain of trust até o sujeito final
3.1 — Fundamentos de Criptografia
Terminologia Essencial
- Plaintext (Cleartext): Mensagem não criptografada
- Ciphertext: Mensagem criptografada
- Algorithm: Processo usado para criptografar e descriptografar
- Cryptanalysis: Arte de quebrar sistemas criptográficos
- Caesar Cipher: Desloca letras — ex: shift 3 → TESTOUT = WHVWRXW
- Substituição: Substitui caracteres (ROT13: A→N). Transposição: Muda a ordem
Criptografia Simétrica
- Mesma chave para criptografar e descriptografar — rápida, ideal para grandes volumes
- Problema: como distribuir a chave com segurança?
- AES: Padrão atual — 128, 192, 256 bits — usado em BitLocker, 802.11, TLS
- AES-256 keyspace = 2^256 (exponencialmente maior que AES-128 = 2^128)
- Outros: DES (obsoleto, 56 bits), 3DES, RC4 (obsoleto), Blowfish, Twofish, IDEA, CAST
Criptografia Assimétrica
- Par de chaves: chave pública cifra → apenas chave privada decifra
- Mais lenta — usada para troca de chaves e assinaturas, não bulk encryption
- RSA: Mais comum — mínimo 2048 bits
- ECC: Chaves menores para mesma segurança — 256-bit ECC ≈ 3072-bit RSA
- Diffie-Hellman: Troca de chave sobre canal público — base do TLS/IPSec/SSH
- DSA: Apenas assinaturas digitais — padrão FIPS do governo EUA
- ECDSA: Elliptic Curve DSA — mais amplamente usado hoje
Sistemas Híbridos e PFS
- Híbrido: assimétrica cifra a chave simétrica → simétrica cifra os dados em massa
- Usado em TLS, PGP/GPG, EFS
- PFS: Chaves efêmeras por sessão — comprometer uma não expõe as demais
3.1.6 — Algoritmos de Criptografia
Stream Cipher
- Criptografa um bit por vez — baseado no OTP (One-Time Pad)
- Usa chave semente + PRNG = keystream → XOR com dados
- RC4: mais usado historicamente — hoje obsoleto e inseguro
Block Cipher — Modos de Operação
- ECB: Blocos idênticos → mesmo ciphertext — inseguro, revela padrões
- CBC: Usa IV — cada bloco encadeado com ciphertext do anterior
- CFB / OFB: Variações com IV
- CTR: Nonce + contador — paralelizável
- GCM: CTR + autenticação (MAC) — extremamente eficiente — TLS, SSH, 802.11
Lightweight e Homomorphic
- Lightweight: Para IoT (pouca RAM, CPU baixo, baterias) — NIST padronizou desde 2018
- PHE: Uma operação ilimitada | SHE: Operações limitadas | FHE: Completo (em desenvolvimento)
3.1.9 — Blockchain
- Lista crescente de blocos protegidos criptograficamente — criado em 2008
- Cada bloco contém hash do anterior → adulteração detectável
- Descentralizado (P2P) — sem ponto único de falha
- Mining: adicionar blocos = computações complexas → recompensa em criptomoeda
- Aplicações: Bitcoin, contratos inteligentes, rastreamento de produtos, identidade digital
3.1.13 — Ataques Criptográficos
- Dictionary: Lista de palavras — defesa: passphrases longas
- Collision: Duas entradas com mesmo hash — defesa: hashes mais longos
- Birthday: Colisão + força bruta — defesa: hashes mais longos
- Downgrade: Força protocolo menos seguro (TLS→SSL) — defesa: desabilitar protocolos antigos
- Post-Quantum Cryptography: Resposta futura à computação quântica — em desenvolvimento
3.2.4 — Implementação Criptográfica
Obfuscação
- Steganography: Esconde mensagem dentro de mídia — covertext
- Data Masking: Substitui campos por "x" — preserva formato
- Tokenization: Substitui valor por token aleatório — reversível via token vault
Cryptoprocessors
- TPM: Chip dentro da CPU — versões 1.2 e 2.0 (incompatíveis) — Windows 10 v1607+ exige TPM 2.0
- TPM: gera hashes de startup (BitLocker), armazena chaves, gera números aleatórios, criptografia assimétrica completa
- HSM: Dispositivo dedicado (rack, PCIe, USB) — mais poderoso que TPM — acesso via PKCS#11 — certificação FIPS 140-2 Level 2
- Secure Enclave (TEE): Protege dados em memória — mesmo root não acessa sem autorização
3.3.3 — Hashing
Algoritmos
- SHA-2 (SHA-256, SHA-512): Padrão atual — TLS, SSL, PGP, SSH, IPSec
- SHA-3: Alternativa ao SHA-2 (2015) — não substituto
- MD5: 128 bits — obsoleto — vulnerável a colisões
- HMAC: Hash + chave secreta → integridade E autenticidade
- RIPEMD: Família da UE — usado com Bitcoin e criptomoedas
Salting e Key Stretching
- Salt: (salt + password) × SHA = hash — único por usuário — impede rainbow tables
- PBKDF2: Padrão de key stretching — usado no WPA
- Key stretching desacelera ataques — atacante precisa de processamento extra por tentativa
3.4.9 — Criptografia de Arquivos
Estados dos Dados
- At Rest: Mídia persistente | In Transit: Rede | In Use: RAM, cache, CPU
Esquema DEK / KEK
- DEK (Data Encryption Key): chave AES que cifra os dados
- KEK (Key Encryption Key): chave privada assimétrica que cifra a DEK
EFS (Encrypting File System)
- NTFS v3 — Windows 2000+ (exceto Home editions)
- FEK (File Encryption Key) → cifra arquivo com AES → FEK cifrada com chave pública → armazenada no DDF
- Descriptografar: chave privada → DDF → FEK → arquivo
- DRA (Data Recovery Agent): conta de recuperação
- Arquivo auto-descriptografado ao mover para dispositivo não-NTFS ou via SMB
BitLocker / PGP / GPG
- BitLocker: FDE — chave no TPM — chave de recuperação obrigatória no setup
- GPG: Implementação open source do PGP — segue OpenPGP (RFC 4880)
- GPG: AES por padrão | PGP: RSA/DH assimétrica + IDEA simétrica
3.5 — Public Key Infrastructure (PKI)
Certificado Digital (X.509)
- Wrapper para chave pública — assinado pela CA — campos: Version, Serial Number, Signature Algorithm, Issuer, Valid From/To, Subject, Public Key, Extensions
Tipos de Certificados
- Root: Auto-assinado — topo da hierarquia — RSA 2048/4096 bits
- SAN: Múltiplos domínios/IPs em um certificado — método atual (CN depreciado)
- Wildcard: *.dominio.com — um domínio + todos subdomínios
- Code-Signing: Legitima aplicações
- Self-Signed: Sem CA — apenas testes — navegador exibe aviso
- Email: S/MIME | User/Computer: Autenticação em rede
Revogação — CRL e OCSP
- CRL: Lista de revogados — baixada periodicamente — pode estar desatualizada
- OCSP: Substitui CRL — verifica status individual em tempo real
- Revogado = permanente | Certificate Hold (suspenso) = pode ser reabilitado
- Razões: Key Compromise, CA Compromise, Superseded, Cessation of Operation, Certificate Hold
Root of Trust e Key Backup
- Hierárquico: Root CA → CAs intermediárias → leaf/end-entity certs (chain of trust)
- Key Archival: CA armazena backup — risco: CA comprometida expõe tudo
- Key Escrow + M of N: Chave dividida entre agentes — quórum M de N deve autorizar
- KRA (Key Recovery Agent): conta autorizada a acessar chave em escrow